package com.sel.modelo;

import java.util.List;

import DAO.CampiDAO;
import DAO.EquipamentoDAO;
import DAO.LaboratorioDAO;

import android.content.Context;

import com.sel.controle.Cadastro_laboratorio;
import com.sel.controle.Reserva_equipamento;

/**
 * 23-04-2015.
 * @version 1.0
 * @author Guilherme Araujo
 */
public class Laboratorio implements EntidadePersistivel
{
    private int id; 
    private int numero_laboratorio;
    private int andar_laboratorio;
    private int capacidade_laboratorio;
    private int Campi_laboratorio;
    private int status_laboratorio;

    
    public Laboratorio()
    {
        
    }
    
    /**
     * @return id_Campi_laboratorio
     */
    public int getCampi_laboratorio() 
    {
        return Campi_laboratorio;
    }
    
    /**
     * @param id_Campi_laboratorio
     */
    public void setCampi_laboratorio(int Campi_laboratorio) 
    {
        this.Campi_laboratorio = Campi_laboratorio;
    }
    
    /**
     * @return status_Laboratorio
     */
    public int getStatusLaboratorio() 
    {
        return status_laboratorio;
    }
    
    /**
     * @param status_Laboratorio
     */
    public void setStatusLaboratorio(int status_laboratorio) 
    {
        this.status_laboratorio = status_laboratorio;
    }
    
    /**
     * @return numero_laboratorio
     */
    public int getNumero_Laboratorio() 
    {
        return numero_laboratorio;
    }
    
    /**
     * @param numero_laboratorio
     */
    public void setNumero_Laboratorio(int numero_laboratorio) 
    {
        this.numero_laboratorio = numero_laboratorio;
    }
    
    /**
     * @return andar_laboratorio
     */
    public int getAndar_Laboratorio() 
    {
        return andar_laboratorio;
    }
    
    /**
     * @param andar_laboratorio
     */
    public void setAndar_Laboratorio(int andar_laboratorio) 
    {
        this.andar_laboratorio = andar_laboratorio;
    }
    
    /**
     * @return andar_laboratorio
     */
    public int getCapacidade_Laboratorio() 
    {
        return capacidade_laboratorio;
    }
    
    /**
     * @param capacidade_laboratorio
     */
    public void setCapacidade_Laboratorio(int capacidade_laboratorio) 
    {
        this.capacidade_laboratorio = capacidade_laboratorio;
    }
    
    @Override
    public String toString() 
    {
        return  "Campi: "+Campi_laboratorio +" / Numero: "+ numero_laboratorio;
    }
    
    @Override
    public int getId() 
    {
        return this.id;
    }
    
    @Override
    public void setId(int id) 
    {
        this.id = id;
    }

    public String exibeLaboratorio() 
    {
        String stStatus = "";
        if (status_laboratorio == 0)
        {
            stStatus = "Ativo";
        }
        else if (status_laboratorio == 1)
        {
            stStatus = "Inativo";
        }
        return  "\nNumero: " + numero_laboratorio + 
                "\nAndar: " + andar_laboratorio + 
                "\nCapacidade: " + capacidade_laboratorio + 
                
                "\nStatus: " + stStatus ;
    }

    public List<Campi> listaCampi(Cadastro_laboratorio cadastro_laboratorio) 
    {
        CampiDAO campiDAO  = new CampiDAO(cadastro_laboratorio);
        List<Campi> campis = campiDAO.recuperarTodos();
        return campis;
    }

	public List<Laboratorio> listaLaboratoriosPorCampi(Context context, int idcampi) 
	{
		LaboratorioDAO laboratorioDAO          = new LaboratorioDAO(context);
        List<Laboratorio> laboratoriosPorCampi = laboratorioDAO.buscaLaboratoriosPorCampi(idcampi);
        return laboratoriosPorCampi;
	}
	
	public int listaNumeroLaboratorioPorId(int idLaboratorio, Reserva_equipamento reserva_equipamento) 
	{
		LaboratorioDAO laboratorioDAO    = new LaboratorioDAO(reserva_equipamento);
		int            numeroLaboratorio = laboratorioDAO.buscaNumeroLaboratorioPorId(idLaboratorio);
		return numeroLaboratorio;
	}
}
